Skip to content

Extract ome module#78

Open
konstibob wants to merge 6 commits into
zarr-developers:mainfrom
konstibob:extract-ome-module
Open

Extract ome module#78
konstibob wants to merge 6 commits into
zarr-developers:mainfrom
konstibob:extract-ome-module

Conversation

@konstibob

Copy link
Copy Markdown

Restructured zarr-java into two Maven submodules, zarr-java-core and
zarr-java-ome, making OME-Zarr an optional import.

Also adds Jupyter notebooks under notebooks/ for exploring the library
locally without having to publish changes to Maven Central. Run with
./notebooks/start.sh.

Naming convention change: the OME package moved from
dev.zarr.zarrjava.experimental.ome to dev.zarr.omezarr.

Updated USERGUIDE.md and USERGUIDE-OME-ZARR.md for the new module layout,
package names, and dependency coordinates.

konstibob and others added 6 commits June 24, 2026 15:29
- Replace experimental.ome package refs with dev.zarr.omezarr
- Add zarr-java-ome as separate Maven/Gradle dependency
- Fix write example syntax and imports

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@normanrz normanrz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very high-level feedback. I would rename the modules:

  • zarr-java-core -> zarr-java
  • zarr-java-ome -> omezarr-java

I don't think the notebooks need to be in the repository. Please remove.

@sbesson @melissalinkert Do you have some feedback on splitting up into 2 modules/jars?

@melissalinkert

Copy link
Copy Markdown
Member

I don't have a problem in general with splitting into separate submodules, though it would be useful to know why this is necessary.

I'm not yet using dev.zarr.zarrjava.experimental.ome, so the package rename to dev.zarr.omezarr isn't breaking right now (but it might be for anyone else who is using zarr-java). I would strongly suggest against any further package renames though.

I think my main concern is with artifact IDs. All of the pom.xml suggest that we can continue to use dev.zarr:zarr-java:<version> to get both modules (and that is my preference), but the user guide only mentions using the individual artifact IDs for the new modules. Since that would be a breaking change for everyone who uses zarr-java, it would be good to clarify what is expected for the zarr-java artifact ID.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants